package com.huaxin.device.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class DeviceReadingEnvironmentUpdateReqDTO {

    /**
     * 读数记录ID
     */
    @NotBlank(message = "ID不能为空")
    @Schema(description = "读数记录ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "123e4567-e89b-12d3-a456-426614174000")
    private String id;

    /**
     * 温度（℃）
     */
    @Schema(description = "温度（℃）", example = "25.50")
    private BigDecimal temperature;

    /**
     * 湿度（%）
     */
    @Schema(description = "湿度（%）", example = "60.00")
    private BigDecimal humidity;

    /**
     * 是否检测到烟雾：0=否，1=是
     */
    @Schema(description = "是否检测到烟雾：0=否，1=是", example = "0")
    private Boolean smokeDetected;

    /**
     * 一氧化碳浓度（ppm）
     */
    @Schema(description = "一氧化碳浓度（ppm）", example = "5.20")
    private BigDecimal coLevel;

    /**
     * PM2.5（μg/m³）
     */
    @Schema(description = "PM2.5（μg/m³）", example = "35")
    private Integer pm25;

    /**
     * 噪音（dB）
     */
    @Schema(description = "噪音（dB）", example = "45.60")
    private BigDecimal noiseLevel;
}